package com.micro.train.repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.micro.train.entity.TrainSeat;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 火车座位数据访问接口（简化版）
 */
@Mapper
public interface TrainSeatRepository extends BaseMapper<TrainSeat> {
    
    /**
     * 根据列车ID获取所有座位
     */
    List<TrainSeat> selectByTrainId(@Param("trainId") Long trainId);
    
    /**
     * 根据车厢ID获取所有座位
     */
    List<TrainSeat> selectByCarriageId(@Param("carriageId") Long carriageId);
    
    /**
     * 根据座位类型获取座位
     */
    List<TrainSeat> selectBySeatType(@Param("seatType") Integer seatType);
    
    /**
     * 根据列车ID和座位类型获取座位
     */
    List<TrainSeat> selectByTrainIdAndSeatType(@Param("trainId") Long trainId, 
                                              @Param("seatType") Integer seatType);
    
    /**
     * 根据价格范围查询座位
     */
    List<TrainSeat> selectByPriceRange(@Param("minPrice") BigDecimal minPrice, 
                                       @Param("maxPrice") BigDecimal maxPrice);
}
